﻿using System;
using WindowsAPI.Windows;

namespace WindowsAPI
{
    /// <summary>Аргумент события клавиатуры</summary>
    [Serializable]
    public class OnKeyboardEventArgs : EventArgs
    {
        /// <summary>Сообщение Windows</summary>
        public WM Message { get; private set; }
        /// <summary>Структура описания события клавиатуры</summary>
        public Keyboard.KbDllHookStruct Struct { get; private set; }

        /// <summary>Аргумент события клавиатуры</summary>
        /// <param name="Message">Сообщение Windows</param>
        /// <param name="Struct">Структура описания события клавиатуры</param>
        public OnKeyboardEventArgs(WM Message, Keyboard.KbDllHookStruct Struct)
        {
            this.Message = Message;
            this.Struct = Struct;
        }

        public override string ToString()
        {
            return string.Format("(WM_{0}):{1}", Message, Struct);
        }
    }
}